www.gusucode.com > XerCMS 携云PHP企业建站程序 v2015PHP源码程序 > XerCMS 携云PHP企业建站程序 v2015/XerCMS_v20150724/XerCMS_v20150724/XerCMS/Modules/forum/libs/forum.php
<?php /** * @name XERCMS * @author Arno <XerCMS@163.com> [QQ:1328013] * @version 1.0.0 * @link http://www.XerCMS.com */ !defined('XERCMS') && exit('Access Denied'); class forum { var $bid = 0; var $class = array('edit'=>array(7,6),'view'=>array(10,11),'publish'=>array(9,8),'rely'=>array(5,4),'down'=>array(3,2)); function loadBorad($bid) { if(empty($bid)) { showtips('noboard',X::$G['urlpath'].'/?m=forum'); } X::$G['board'] = ini('forum/board/'.$bid); if(empty(X::$G['board'])) { showtips('noboard',X::$G['urlpath'].'?m=forum'); } } function creditRule($category = 'edit',$tid = 0) {//print_r(X::$G['credits']);exit; if(isset(X::$G['board']['credit'][$category]) && is_array(X::$G['board']['credit'][$category])) { list($id,$val) = each(X::$G['board']['credit'][$category]); //print_r(X::$G['board']['credit']);exit; //if(isset(X::$G['credits']['credit'.$id]['val'])) { //if(is_int(X::$G['credits']['credit'.$id]['val'])) { if(isset(X::$G['credits'][$id]['val'])) { if($tid && in_array($category,array('view','rely'))) { $catId = array('view'=>2,'rely'=>3); $log = DB::result('SELECT time FROM xercms_log_deduct WHERE id = '.$tid.' AND cat = '.$catId[$category].' AND uid = '.X::$G['uid']); if($log) { return; } else { DB::insert('xercms_log_deduct',array('id'=>$tid,'cat'=>$catId[$category],'uid'=>X::$G['uid'],'time'=>X::$G['time'])); } } if($val >= 0) { if($val) { credits()->setIdStr($this->class[$category][0]); credits()->add($id,$val,$this->class[$category][0]); } return; } else if($val < 0 && (X::$G['credits'][$id]['val'] + $val) >= 0) { credits()->setIdStr($this->class[$category][1]); credits()->add($id,$val,$this->class[$category][1]); return; } } else { if(empty($val)) { return; } } //} //} } showtips('not_enough_credit',X::$G['urlpath'].'?m=forum'); } function checkAccess($category = 'view') { X::$G['admin'] = 0; if(in_array(X::$G['group'],X::$G['admingroup'])) { X::$G['admin']++; } if(in_array(X::$G['uid'],X::$G['board']['admin'])) { X::$G['admin'] += 2; } if(in_array(X::$G['uid'],X::$G['superadmin'])) { X::$G['admin'] += 5; } if(X::$G['admin'] < 2 && !in_array(X::$G['group'],X::$G['board']['access'][$category])) { if(X::$G['uid']) { showtips('noaccess',X::$G['urlpath'].'?m=forum'); } else showtips('noaccess',X::$G['urlpath'].'?m=member&a=register'); } } function checkEditAccess() { $this->checkAccess('edit'); } function checkRelyAccess() { $this->checkAccess('rely'); } function checkViewAccess() { $this->checkAccess('view'); } function checkPubAccess() { $this->checkAccess('publish'); } } ?>